home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.22
/
asl
/
asl.p
< prev
next >
Wrap
Text File
|
1995-04-23
|
3KB
|
102 lines
{Stuktur © & P by Falk Zühlsdorff, Lindenberg 66, 98693 Ilmenau}
{Erstellt mit KickPascal 2.12 von Maxon Computer, 31.12.93 }
PROGRAM ASL_ON_SCREEN;
USES INTUITION,GRAPHICS;
{$INCL 'asl.lib','dos.lib'}
Type STyp=string[100];
VAR Scr : ^Screen;
Vp : ViewPort;
Win : ^Window;
OWin: ^Window;
RP : ^RastPort;
Prc : ^Process;
PrcH: Ptr;
rufname,Pfad,Datei:String[100];
PROCEDURE ASLREQ(titel:STRING; VAR Datei,Pfad:STyp);;
VAR Req : p_FileRequester;STATIC;
Tags : ARRAY[0..6] OF TagItem;STATIC;
BEGIN
Tags[0].ti_Tag:=ASL_Hail;
Tags[0].ti_Data:=titel;
Tags[1].ti_Tag:=ASL_Window;
Tags[1].ti_Data:=Win^; {Hä hä}
Tags[2].ti_Tag:=ASL_File;
Tags[2].ti_Data:=Datei;
Tags[3].ti_Tag:=ASL_Dir;
Tags[3].ti_Data:=Pfad;
Tags[4].ti_Tag:=ASL_FrontPen;
Tags[4].ti_Data:=$03; {> keine Wirkung ???}
Tags[5].ti_Tag:=ASL_BackPen;;
Tags[5].ti_Data:=$02; {> keine Wirkung ???}
Tags[6].ti_Tag:=TAG_DONE;
Req:=AllocAslRequest(ASL_FileRequest,^Tags);
IF Req<>NIL THEN
BEGIN
IF RequestFile(Req)
THEN
BEGIN
Datei:=req^.rf_File;
Pfad:=req^.rf_Dir;
IF (Pfad<>'') AND (Pfad[length(Pfad)]<>':') AND
(Pfad[length(Pfad)]<>'/')
THEN Pfad:=Pfad+'/';
rufname:=Pfad+Datei;
END
else writeln('Dann eben nicht !!!');
FreeAslRequest(Req);
END
ELSE displaybeep(nil);
END;
{------------------------------------------------------------------------}
PROCEDURE Setfarbe(Nr,R,G,B:byte);
BEGIN
setRGB4(^Scr^.ViewPort,Nr,R,G,B);
END;
{------------------------------MAIN--------------------------------------}
BEGIN
rufname:='';Pfad:='SYS:';Datei:='';
Scr:=Open_Screen(0,0,640,256,2,0,1,HIRES+GENLOCK_VIDEO,
'ASL Test on Customscreen © & P by Falk Zühlsdorff 01.01.94 8:59');
Vp:=Scr^.ViewPort;
Setfarbe(0,11,11,11);
Setfarbe(1,0,0,0);
Setfarbe(2,15,15,15);
Setfarbe(3,6,8,11);
Win:=Open_Window(0,10,640,246,0,RAWKEY+GADGETUP,ACTIVATE+
BORDERLESS+RMBTRAP+BACKDROP,Nil,Scr,640,246,640,246);
RP:=Win^.RPort;
PrcH:=FindTask(Nil);
Prc:=PrcH; {Fehlerreq./Task auf eigenen Screen}
OWin:=Prc^.pr_WindowPtr; {umleiten}
Prc^.pr_WindowPtr:=Win;
OpenLib(AslBase,ASLNAME,36);
if IOResult=0 then
BEGIN
AslReq('Laden der Adressen: ',Datei,Pfad);
CloseLib(AslBase);
writeln(rufname);
END;
Prc^.pr_WindowPtr:=OWin;
Close_Window(Win);
Close_Screen(Scr);
END.